package cdu.javaendwork.service.Interface.AdoptionMore;

import cdu.javaendwork.model.sqlModel.Post;

import java.util.Date;
import java.util.List;

public interface PostService {
    //
    //---------------------------王涛同学负责-------------------------------
    //----暂时规定帖子status=1才可以被查到status=2表示已被封禁不能被查询，实现方法时请注意---
    //添加领养帖子，发表帖子的时候可能会用
    public boolean insert(int userid, int petid, int status, String title, String content, Date date);

    //修改一个帖子，用户可能要修改自己帖子的信息也可能后台管理员可以通过修改状态码来封禁违禁帖子
    public boolean update(int id ,int userid, int petid, int status, String title, String content, Date date);

    //通过id查询单个帖子详情时可能会用到
    public Post findByid(int id);

    //分页查询可显示的帖子，在展示领养帖子的地方可能会用到，注意status必须为可用
    public List<Post> Postlimit(int pageIndex , int pageSize);

    //通过标题模糊分页查询，在用户搜索帖子时可能会用到
    public List<Post> filterByTitleAndContentLimit(String where , int pageIndex,int pageSize);

    //查看某人的合法帖子时用到
    public List<Post> filterByUserIdLimit(int userid , int pageIndex , int pageSize);
    //管理员可以查询到所有的帖子包括封禁帖
    public List<Post> AdminPostLimit(int pageIndex , int pageSize);

    //全体中通过标题模糊分页查询，在管理员搜索帖子时会用到
    public List<Post> AdminFilterByTitleAndContentLimit(String where , int pageIndex,int pageSize);
    //通过userid和条件模糊查询
    public List<Post> filterByTitleAndContentAndUserIdLimit(String where ,int userid, int pageIndex,int pageSize);
}
